Many efforts have been made to expand the performances of telecommunications apparatuses. One example of such efforts is to allow telecommunications apparatuses to receive and install software transmitted from a server via a wireless network.
In fact, services for allowing cellular phones to download software, such as electronic games, from software delivering servers via cellular networks and allowing the users to execute the software as necessary are widely spreading.
Since such services are strongly dependent on and affected by the radio environment of the cellular networks, data transmission is often interrupted during the download process as cellular phones move around. In this case, the entire file of the software cannot be downloaded due to interruption. To avoid this, it is proposed to discard the downloaded software when transmission is interrupted during the download operation and to restore the cellular phone to the previous state immediately before the download is started. See, for example, “i-mode basis Java (registered trademark) Contents Development Guideline, Detailed Version, Edition 1.1”, [online], May 14, 2001. This technique protects the cellular phone from damage even if data communication is interrupted during the download process.
However, if the download process ends in failure due to interruption, the user of the cellular phone has to repeat the download process until the software is successfully downloaded. The larger the volume of software, the longer the download time required, and the greater is the probability of interruption.
In addition, when the battery of the cellular phone runs out during the download process, the download again ends in failure.
The same applies to the updating process. To update the software installed in a cellular phone using a downloaded change data file, the change data file is compared with the existing data file of the already installed software to specify the difference. If an error occurs when updating the software, it is necessary to restore the former data existing before the update. For this reason, the data file of the installed software has to be saved in the memory before the update process is started, and a large memory area is required. However, it is difficult to provide a sufficient amount of surplus memory to cellular phones because of the constraint of the housing size.